package com.garmin.tw.garminpcsync.common.domain.xmlrpc;

import java.io.Serializable;
import java.util.List;

public class MapUpdateInfo4Asia extends MapUpdateInfo implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6515592452726099019L;
	
	private Long fileSizeInLong;
	
	private List<String> deleteFiles;
	
	private String storageType;
	
	private String unlockCode;

	private String unlockCodeFileName;
	
	private String unlockCodeFilePath;
	
	private String gmaFile;

	/**
	 * Gets the size in Long of this map update file.
	 * @return the size in Long of this map update file
	 */
	public Long getFileSizeInLong() {
		return fileSizeInLong;
	}

	/**
	 * Sets the size in Long of this map update file.
	 * @param fileSizeInLong
	 */
	public void setFileSizeInLong(Long fileSizeInLong) {
		this.fileSizeInLong = fileSizeInLong;
	}

	/**
	 * Gets the need to delete files before installing the map in list.
	 * @return the need to delete files by RE pattern in list
	 */
	public List<String> getDeleteFiles() {
		return deleteFiles;
	}

	/**
	 * Sets the need to delete files before installing the map in list.
	 * @param deleteFiles
	 */
	public void setDeleteFiles(List<String> deleteFiles) {
		this.deleteFiles = deleteFiles;
	}

	/**
	 * Gets the specific destination to install the map, or null if the map does not specific install destination.
	 * @return PND or SD_Card or null
	 */
	public String getStorageType() {
		return storageType;
	}

	/**
	 * Sets the specific destination to install the map.
	 * @param storageType
	 */
	public void setStorageType(String storageType) {
		this.storageType = storageType;
	}

	/**
	 * Gets the map unlock code of this device, or null if this device has not unlocked yet for the map.
	 * @return the map unlock code of this device, or null if this device has not unlocked yet for the map
	 */
	public String getUnlockCode() {
		return unlockCode;
	}

	/**
	 * Sets the map unlock code of this device.
	 * @param unlockCode
	 */
	public void setUnlockCode(String unlockCode) {
		this.unlockCode = unlockCode;
	}

	/**
	 * Gets the specified file name of map unlock code on this device, or null if the map does not specific unlock code file name.
	 * @return the specified file name of map unlock code on this device, or null if the map does not specific unlock code file name
	 */
	public String getUnlockCodeFileName() {
		return unlockCodeFileName;
	}

	/**
	 * Sets the specified file name of map unlock code on this device.
	 * @param unlockCodeFileName
	 */
	public void setUnlockCodeFileName(String unlockCodeFileName) {
		this.unlockCodeFileName = unlockCodeFileName;
	}

	/** 
	 * Gets the specified file path of map unlock code on this device, or null if the map does not specific unlock code file path.
	 * @return the specified file path of map unlock code on this device, or null if the map does not specific unlock code file path
	 */
	public String getUnlockCodeFilePath() {
		return unlockCodeFilePath;
	}

	/**
	 * Sets the specified file path of map unlock code on this device.
	 * @param unlockCodeFilePath
	 */
	public void setUnlockCodeFilePath(String unlockCodeFilePath) {
		this.unlockCodeFilePath = unlockCodeFilePath;
	}

	/**
	 * Gets the GMA file of this device in BASE64 string, or null if this device has not unlocked yet for the map.
	 * @return the GMA file of this device in BASE64 string, or null if this device has not unlocked yet for the map
	 */
	public String getGmaFile() {
		return gmaFile;
	}

	/**
	 * Sets the GMA file of this device in BASE64 string.
	 * @param gmaFile
	 */
	public void setGmaFile(String gmaFile) {
		this.gmaFile = gmaFile;
	}
	
}
